package com.namecard.namecardapi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 公用_支付日志
 * </p>
 *
 * @author wzx
 * @since 2023-07-07
 */
@TableName("rf_common_pay_log")
@Data
@AllArgsConstructor
public class RfCommonPayLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 用户id
     */
    private String memberId;

    /**
     * 应用id
     */
    private String appId;

    /**
     * 关联订单号
     */
    private String orderSn;


    /**
     * 支付内容
     */
    private String body;


    /**
     * 支付类型[1:积分;2:PayPal]
     */
    private Integer payType;

    /**
     * 消费金额
     */
    private BigDecimal payFee;

    /**
     * 交易前余额
     */
    private BigDecimal oldNum;

    /**
     * 交易后余额
     */
    private BigDecimal newNum;

    /**
     * 支付状态
     */
    private Integer payStatus;

    /**
     * 交易类型
     */
    private String tradeType;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Data payTime;

    /**
     * 支付者ip
     */
    private String payIp;

    /**
     * 状态[-1:删除;0:禁用;1启用]
     */
    private Integer status;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

}
